home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Report Writers / Crystal Repot 9.0 Full CD version / Setup.exe / SRC / HOARDDLL.ZIP / 3rdParty / hoard / libhoard-2.0.2 / ChangeLog < prev    next >
Encoding:
Text File  |  2000-04-06  |  44.9 KB  |  1,348 lines

  1. Thu Apr  6 14:15:04 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  2.  
  3.     * NEWS: Version 2.0.2.
  4.  
  5. Sun Apr  2 16:25:27 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  6.  
  7.     * memstat.h, fastmergelogs.cpp, mlog.cpp: Revised log stuff.
  8.  
  9. Sat Apr  1 22:34:04 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  10.  
  11.     * mlog.cpp: Added total object size output.
  12.  
  13.     * mergelogs.cpp, log2.h: New (cheaper?) version of log for log reading.
  14.  
  15. Tue Mar 28 16:48:11 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  16.  
  17.     * config.h: Another AIX fix.
  18.  
  19.     * NEWS: 2.0.1
  20.  
  21. Mon Mar 27 21:55:27 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  22.  
  23.     * heap.h, heap.cpp: Fixed the release threshold.
  24.  
  25.     * ChangeLog: Version 2.0.1.
  26.  
  27. Sun Mar 26 03:16:51 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  28.  
  29.     * arch-specific.cpp: PPC fix.
  30.  
  31.     * Makefile.orig: Fix for AIX.
  32.  
  33. Thu Mar 23 22:36:59 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  34.  
  35.     * arch-specific.cpp:
  36.     Directly incorporated alignment value to workaround a g++ bug on IRIX.
  37.  
  38.     * heap.cpp, heap.h:
  39.     Removed numBlocks lookup table (computation is more portable).
  40.  
  41. Wed Mar 22 22:52:55 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  42.  
  43.     * Makefile.in, NEWS, configure, configure.in, heap.cpp, Makefile.am:
  44.     Version 2.0.
  45.  
  46.     * heap.cpp: Removed support for HEAP_FRAG_STATS & HEAP_DEBUG.
  47.  
  48.     * config.h:
  49.     Reordered stuff to make it clear what may and may not be changed.
  50.  
  51.     * memstat.h: Fixed time fields.
  52.  
  53.     * memstat.h: Try builtin timeval thing.
  54.  
  55.     * mergelogs.cpp: Fixed the equal-time case.
  56.  
  57.     * heap.h, memstat.h, mergelogs.cpp, mlog.cpp, processheap.cpp, processheap.h, threadheap.cpp, Makefile.in, heap.cpp:
  58.     Cruft removal, plumbed processHeap through to allow Unsbrking memory (if this is a good idea), fixed timing of logs on Solaris.
  59.  
  60. Tue Mar 21 22:53:03 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  61.  
  62.     * memstat.h: Added an include.
  63.  
  64.     * threadheap.cpp: Aligned logged size requests.
  65.  
  66.     * mlog.cpp: Removed a print statement & disabled histogram.
  67.  
  68.     * mergelogs.cpp: Slight tweak for speed.
  69.  
  70.     * processheap.cpp: Fixed an ownership problem with logging.
  71.  
  72.     * Makefile.am, Makefile.in, NEWS, configure, configure.in:
  73.     Changed to version 1.6.
  74.  
  75.     * processheap.cpp: Eliminated now-superfluous NULL test.
  76.  
  77.     * processheap.cpp, processheap.h, superblock.cpp, superblock.h, heap.cpp, heap.h:
  78.     Race freedom for superblocks!
  79.  
  80. Mon Mar 20 22:27:29 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  81.  
  82.     * heap.h, mlog.cpp, processheap.h, heap.cpp:
  83.     Reverted to 'spinlock' version of superblock acquisition (sigh).
  84.  
  85.     * mlog.cpp: Added a time-ordering assertion.
  86.  
  87.     * heap.cpp, heap.h: Removed a 'magic number'.
  88.  
  89.     * processheap.h, threadheap.cpp:
  90.     Ownership changes to eliminate NULL ownership and avoid superblock 'chasing'.
  91.  
  92.     * log.h: Added a cache pad; removed some spurious fflush(stdout)'s.
  93.  
  94.     * memstat.h: Added hi-res timer for Solaris.
  95.  
  96.     * superblock.cpp: Fixed an assert.
  97.  
  98.     * config.h: Added a note about memalign.
  99.  
  100.     * heap.cpp: A few more assertions.
  101.  
  102.     * threadheap.h: Added an assertion to guard against bad memalign calls.
  103.  
  104.     * heap.h: Empty superblocks can now be immediately reused.
  105.  
  106. Sun Mar 19 03:19:48 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  107.  
  108.     * block.h, config.h, heap.cpp, heap.h, processheap.cpp, superblock.cpp:
  109.     A number of minor fixes.
  110.  
  111.     * superblock.cpp: Use lookup table for number of blocks.
  112.  
  113.     * superblock.h: Cleaned up validity checking.
  114.  
  115. Sat Mar 18 20:28:25 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  116.  
  117.     * heap.cpp, heap.h, maketable.cpp:
  118.     Added numBlocks lookup table; fixed type of hoardHeap::sizeFromClass.
  119.  
  120.     * arch-specific.cpp: Moved hoardYield out of an ifdef.
  121.  
  122.     * threadheap.cpp, heap.h, log.h, mlog.cpp, processheap.cpp, processheap.h, superblock.cpp, superblock.h, config.h, heap.cpp:
  123.     Incorporated heap-level superblock recycling; fixed statistics gathering.
  124.  
  125. Fri Mar 17 16:28:09 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  126.  
  127.     * heap.cpp, heap.h, processheap.h, threadheap.cpp:
  128.     Removed now obsolete heap reassignment stuff in remove*.
  129.  
  130.     * Makefile.in, Makefile.am: Added 'module' support.
  131.  
  132. Thu Mar 16 02:32:39 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  133.  
  134.     * processheap.cpp, processheap.h, superblock.cpp:
  135.     Restored heap refills.
  136.  
  137.     * arch-specific.h, processheap.h, arch-specific.cpp:
  138.     Added 'hoardYield'.
  139.  
  140. Wed Mar 15 23:29:27 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  141.  
  142.     * NEWS, maketable.cpp, privateheap.cpp, privateheap.h, processheap.h, superblock.cpp, superblock.h, testmymalloc.cpp, block.h, heap.cpp, heap.h, heapstats.h:
  143.     Many fixes.
  144.  
  145.     * heap.h, heapstats.h, superblock.cpp, superblock.h, heap.cpp:
  146.     Working stats + move-to-front.
  147.  
  148.     * heap.h, heapstats.h, heap.cpp: More changes.
  149.  
  150. Tue Mar 14 21:35:00 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  151.  
  152.     * heap.cpp: Fixed number of blocks.
  153.  
  154.     * heap.h, processheap.h, superblock.cpp, superblock.h, block.h, heap.cpp:
  155.     Added infrastructure for recycling (not yet ready).
  156.  
  157.     * maketable.cpp, superblock.cpp, heap.cpp, heap.h:
  158.     Added static calculation of the number of blocks in a superblock (for each sizeclass).
  159.  
  160.     * README: Updated.
  161.  
  162.     * heap.cpp: Disabled superblock return to OS (too expensive right now).
  163.  
  164.     * heap.cpp, heap.h, processheap.cpp, processheap.h, superblock.cpp, NEWS, arch-specific.cpp:
  165.     Stripped out recycling.
  166.  
  167.     * heap.cpp, heap.h, superblock.h, threadheap.cpp:
  168.     Fixed stats and removed a now-erroneous assertion.
  169.  
  170. Mon Mar 13 20:36:52 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  171.  
  172.     * testmymalloc.cpp: Changed from doubles to char.
  173.  
  174. Fri Mar 10 15:04:15 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  175.  
  176.     * heap.cpp, processheap.cpp, superblock.cpp, threadheap.cpp:
  177.     Fixed allocation & deallocation logging (for policy vs. mechanism).
  178.  
  179.     * processheap.cpp, processheap.h, superblock.cpp, threadheap.cpp, threadtest.cpp, wrapper.h, arch-specific.cpp, config.h, heap.cpp, memstat.h, mlog.cpp:
  180.     More revision of aggressive superblock returns.
  181.  
  182. Thu Mar  9 16:44:52 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  183.  
  184.     * heap.h, processheap.h, heap.cpp: Now ownership is never NULLed.
  185.  
  186.     * processheap.h: Set ownership (so it's not NULL for long).
  187.  
  188.     * heap.cpp, processheap.h: Minor changes.
  189.  
  190.     * heap.cpp, processheap.cpp: Forgot to fix the race condition...
  191.  
  192.     * superblock.h, threadheap.cpp, heap.cpp, heap.h, processheap.cpp, processheap.h, superblock.cpp:
  193.     Numerous minor changes (a) to avoid statics in processHeap, on the road to a version that allows multiple heaps, and (b) to quickly catch moving superblocks.
  194.  
  195. Mon Feb 28 17:44:15 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  196.  
  197.     * processheap.cpp, superblock.cpp, superblock.h, heap.cpp, heapstats.h, privateheap.cpp, INSTALL, NEWS, README, block.h:
  198.     Numerous small changes (comments, etc.).
  199.  
  200.     * wrapper.cpp, wrapper.h:
  201.     Changed the initialization to force mmap to be called at startup time by exactly one thread.
  202.  
  203.     * config.h, heap.h:
  204.     Bumped up the empty fraction and correspondingly, the number of emptiness groups.
  205.  
  206.     * arch-specific.cpp, arch-specific.h:
  207.     Added inlining of non-user-level locks.
  208.  
  209.     * processheap.h: Added a lock to protect the recycle bin.
  210.  
  211. Thu Feb 24 15:27:28 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  212.  
  213.     * wrapper.cpp: Maybe not just AIX...
  214.  
  215.     * arch-specific.cpp: Another lock (around munmap).
  216.  
  217.     * arch-specific.cpp: Added a lock around mmap for Linux.
  218.  
  219.     * threadheap.cpp: Better error checking.
  220.  
  221.     * NEWS, README, ChangeLog, heap.cpp: Version 1.5.2.
  222.  
  223.     * Makefile.in: Created by automake 1.4a.
  224.  
  225.     * README: Added more people to thank!
  226.  
  227.     * wrapper.cpp:
  228.     Surrounded the redefinitions of C++ stuff with AIX ifdefs.
  229.  
  230.     * superblock.cpp: Now propagates mmap errors properly.
  231.  
  232.     * arch-specific.cpp: Fixed a mysterious Linux bug.
  233.  
  234. Wed Feb 23 01:55:26 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  235.  
  236.     * arch-specific.cpp: Bugfix for Windows.
  237.  
  238. Mon Feb 21 22:34:45 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  239.  
  240.     * heap.cpp: Fixed a space leak for SGI/BeOS.
  241.  
  242.     * Makefile.in: Included dependencies.
  243.  
  244.     * wrapper.h: Rearranged a line.
  245.  
  246. Sun Feb 20 23:37:02 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  247.  
  248.     * ChangeLog, NEWS: Version 1.5.1.
  249.  
  250.     * wrapper.cpp, wrapper.h: A proper fix!
  251.  
  252. Sat Feb 19 22:27:20 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  253.  
  254.     * INSTALL: Added AIX instructions.
  255.  
  256.     * Makefile.in: Updated.
  257.  
  258.     * Attic/libc-lock.h, Attic/atexit.c, Makefile.am, Makefile.orig:
  259.     Removed atexit stuff.
  260.  
  261.     * wrapper.h: Added some explanatory comments.
  262.  
  263.     * wrapper.cpp, wrapper.h:
  264.     Changed the initialization of the process heap; this bypasses the atexit problems.
  265.  
  266. Fri Feb 18 04:05:35 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  267.  
  268.     * NEWS: Updated the NEWS file.
  269.  
  270.     * README: Fixed README discussion of threadtest.
  271.  
  272.     * Makefile.orig: Fixed linking with Hoard for testmymalloc.
  273.  
  274. Wed Feb 16 05:15:49 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  275.  
  276.     * arch-specific.cpp:
  277.     Cast ptr to (char *) in munmap, and I don't know why.
  278.  
  279.     * threadtest.cpp: New and improved threadtest.
  280.  
  281.     * arch-specific.cpp, arch-specific.h, heap.cpp:
  282.     Added 'unsbrk' (in fact, munmap) for large blocks.
  283.  
  284. Sun Feb 13 04:25:07 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  285.  
  286.     * Makefile.orig:
  287.     Changed rt library to posix4, for Solaris 2.6 compatibility.
  288.  
  289. Sat Feb 12 22:43:51 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  290.  
  291.     * config.h:
  292.     Changed the number of FULLNESS groups to 3 (less than 1/2 full, less than full, full).
  293.  
  294.     * processheap.h: Added an assertion about released superblocks.
  295.  
  296.     * heap.h: Removed some spurious const's.
  297.  
  298.     * heap.h:
  299.     Changed empty fraction (per analysis -- this makes worst-case contention symmetric for malloc & free).
  300.  
  301.     * heap.cpp: A bit of 'defensive programming'.
  302.  
  303. Fri Feb 11 14:48:11 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  304.  
  305.     * processheap.cpp: Added a comment.
  306.  
  307.     * NEWS: Updated with superblock recycling note.
  308.  
  309.     * processheap.cpp, heap.cpp, processheap.h, superblock.cpp, superblock.h:
  310.     Slight optimizations to recycling.
  311.  
  312.     * heap.cpp, processheap.cpp, processheap.h:
  313.     NIncorporated superblock recycling.
  314.  
  315. Thu Feb 10 21:05:48 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  316.  
  317.     * Makefile.orig: Removed -fpedantic.
  318.  
  319.     * NEWS, README: More info on the AIX port.
  320.  
  321.     * benchmarks/larson/driver_mt.cpp, benchmarks/linux-scalability/linux-scalability.c:
  322.     Some fixes to compile under xlc (AIX).
  323.  
  324.     * cache-scratch.cpp: AIX complains about volatile char*, so it's gone.
  325.  
  326.     * Makefile.orig, arch-specific.cpp: Added initial AIX support.
  327.  
  328.     * heap.h: Fix to avoid a warning.
  329.  
  330.     * INSTALL: Added instructions for using the Sun Workshop compilers.
  331.  
  332.     * NEWS: Version 1.5 update.
  333.  
  334.     * ChangeLog: Version 1.5 ChangeLog updates.
  335.  
  336.     * configure.in, heap.cpp, Makefile.in, configure, Makefile.am:
  337.     Updated everything to version 1.5.
  338.  
  339.     * malloc-test.c: Fixed malloc-test for Solaris.
  340.  
  341.     * Makefile.orig, benchmarks/larson/Makefile.in: Some Makefile fixes.
  342.  
  343.     * benchmarks/shbench/shbench1.cpp:
  344.     Removed problems for Sun's workshop compilers.
  345.  
  346.     * benchmarks/shbench/Makefile.in, benchmarks/larson/Makefile.in, benchmarks/linux-scalability/Makefile.in, README, benchmarks/consume/Makefile.in, INSTALL, Makefile.in, Makefile.orig:
  347.     Changed everything to refer to libhoard.a instead of hoard.o.
  348.  
  349.     * Makefile.orig, configure, configure.in:
  350.     Improved optimization, etc. for Sun's Workshop compilers.
  351.  
  352.     * superblock.cpp, superblock.h: Added caching of the fullness values.
  353.  
  354.     * wrapper.cpp:
  355.     Added replacements for new/delete so that static linking with libhoard.a works.
  356.  
  357.     * heap.cpp, heap.h:
  358.     Now we cache the least-empty bin that we've found (in findAvailableSuperblock) to avoid needlessly pounding through all the bins every time we malloc.
  359.  
  360.     * heap.cpp, heap.h:
  361.     Added empty-fraction checking (so we don't bother returning superblocks until the current heap is largely empty).
  362.  
  363.     * benchmarks/consume/Makefile.in, benchmarks/consume/consume.cpp:
  364.     Restored.
  365.  
  366.     * config.h: Removed REMOVE_MAX_ITERATIONS, which is now obsolete.
  367.  
  368.     * log.h: Added 'inline' for Sun's compiler (which has a point).
  369.  
  370. Wed Feb  9 04:08:58 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  371.  
  372.     * Makefile.orig: Added a few warnings for g++ compiles.
  373.  
  374.     * block.h: Removed some const declarations.
  375.  
  376.     * heap.h, threadheap.cpp: Moved a comment or two.
  377.  
  378.     * processheap.cpp: Removed mmap support for now.
  379.  
  380.     * superblock.h: Removed some const declarations.
  381.  
  382.     * heap.cpp: Fixed binning for superblocks in the process heap.
  383.  
  384. Tue Feb  8 23:15:23 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  385.  
  386.     * heap.cpp, heap.h, Makefile.orig: Added moveSuperblock.
  387.  
  388.     * superblock.h, config.h, heap.h, superblock.cpp:
  389.     Inlined superblock::getFullness and moved an enum into config.h.
  390.  
  391.     * testmymalloc.cpp, threadtest.cpp:
  392.     Dropped the iteration count back down.
  393.  
  394.     * processheap.cpp: Removed mmap support for now.
  395.  
  396.     * benchmarks/consume/Makefile.in, benchmarks/consume/consume.cpp:
  397.     Removed consume benchmark.
  398.  
  399.     * threadheap.h, heap.cpp, processheap.cpp, threadheap.cpp:
  400.     Removed deferred frees for now.
  401.  
  402.     * benchmarks/consume/consume.cpp: Improved the benchmark.
  403.  
  404.     * testmymalloc.cpp, threadheap.cpp, threadheap.h, wrapper.cpp, heap.cpp, processheap.cpp, processheap.h:
  405.     Added deferred freeing.
  406.  
  407.     * benchmarks/consume/consume.cpp:
  408.     Added #defines for Solaris compatibility.
  409.  
  410.     * configure, configure.in: Added consume.
  411.  
  412.     * benchmarks/consume/consume.cpp, benchmarks/consume/Makefile.in:
  413.     Initial check-in.
  414.  
  415. Mon Feb  7 15:14:55 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  416.  
  417.     * threadheap.cpp, threadheap.h, wrapper.cpp, heap.h, processheap.cpp, processheap.h, testmymalloc.cpp, heap.cpp:
  418.     First shot at deferring free's.
  419.  
  420. Sun Feb  6 02:02:29 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  421.  
  422.     * Makefile.orig: Added architecture-specific flags.
  423.  
  424.     * heap.cpp, heap.h: Restored hysteresis value to 2.
  425.  
  426. Sat Feb  5 03:52:46 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  427.  
  428.     * Makefile.orig: Restored CPU option for Sparc.
  429.  
  430.     * heap.h: Moved some code to avoid an unnecessary test.
  431.  
  432.     * threadheap.cpp: added an assertion.
  433.  
  434.     * threadtest.cpp: Fixed declaration of worker.
  435.  
  436.     * timer.h: Fixed stop() so it adds elapsed times.
  437.  
  438. Fri Feb  4 21:17:39 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  439.  
  440.     * Makefile.am, Makefile.in:
  441.     Fixed an accidental inclusion of Hoard in a non-Hoard benchmark.
  442.  
  443.     * timer.h, wrapper.cpp, wrapper.h, testmymalloc.cpp, threadheap.cpp, threadheap.h, threadtest.cpp, processheap.cpp, processheap.h, superblock.cpp, superblock.h, log.h, memstat.h, mergelogs.cpp, mlog.cpp, config.h, heap.cpp, heap.h, heapstats.h, arch-specific.cpp, arch-specific.h, block.h, cache-scratch.cpp, Makefile.am, Makefile.in, README:
  444.     Added bins, changed copyright notice and web page.
  445.  
  446.     * mergelogs.cpp: Added start & stop as command-line parameters.
  447.  
  448.     * mlog.cpp: Removed time-ordering assertions.
  449.  
  450.     * processheap.cpp, processheap.h, superblock.cpp:
  451.     Added a superblock 'store' to the process heap.
  452.  
  453. Thu Feb  3 17:52:55 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  454.  
  455.     * processheap.cpp: Improved speed by just unlinking the logfile.
  456.  
  457.     * mlog.cpp: Added a histogram of object sizes.
  458.  
  459.     * heap.cpp, heap.h:
  460.     Changed the superblock size, the number of size classes (so we can support a 1GB malloc) and the hysteresis value.
  461.  
  462.     * threadtest.cpp: Increased the number of iterations.
  463.  
  464.     * heap.cpp, heap.h, maketable.cpp: Added a hysteresis value.
  465.  
  466. Tue Feb  1 21:50:17 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  467.  
  468.     * mergelogs.cpp: Now we open the logs to be merged in read-only mode.
  469.  
  470.     * mlog.cpp: Now we open the log in read-only mode.
  471.  
  472.     * log.h: Added read-only log opening.
  473.  
  474. Mon Jan 31 22:59:24 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  475.  
  476.     * benchmarks/larson/driver_mt.cpp:
  477.     Fixed type of pthread_setconcurrency.
  478.  
  479.     * mergelogs.cpp:
  480.     Now calls 'abort' to avoid unnecessary writing of logs.
  481.  
  482.     * log.h: Added abort() = close file without saving any changes.
  483.  
  484.     * log.h:
  485.     Now we only write the perceived number of objects (instead of the 'actual' number) to the logfile.
  486.  
  487.     * log.h: Made most memory accesses private (for speed).
  488.  
  489.     * log.h: Inlined everything.
  490.  
  491.     * testmymalloc.cpp: Removed spurious include.
  492.  
  493.     * log.h, memstat.h, mergelogs.cpp, mlog.cpp, heap.h, threadheap.cpp, threadheap.h, wrapper.cpp, processheap.cpp, processheap.h:
  494.     Fixed logging.
  495.  
  496. Sat Jan 29 04:22:34 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  497.  
  498.     * memstat.h:
  499.     By encoding the type in the lower bits of the address, we save 4 bytes.
  500.  
  501.     * memstat.h, mergelogs.cpp: More fixes and improvements.
  502.  
  503.     * heap.h: Restored MAX_HEAPS to 128.
  504.  
  505.     * mlog.cpp: Minor tweaks.
  506.  
  507.     * log.h:
  508.     Fixed a bug (forgot to multiply size by MULTIPLIER before caching it).
  509.  
  510.     * Makefile.orig: Added -noex for Sun compiler builds.
  511.  
  512. Fri Jan 28 16:56:04 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  513.  
  514.     * mlog.cpp:
  515.     Added tracking of both measures of fragmentation, with multiplication & subsequent division by 16, as in Wilson & Hohnstone.
  516.  
  517.     * log.h: Properly surrounded every call by mutexes.
  518.  
  519.     * processheap.cpp, processheap.h: Added allocatedAtMax.
  520.  
  521.     * benchmarks/larson/driver_mt.cpp: A fix for Linux.
  522.  
  523. Thu Jan 27 23:10:23 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  524.  
  525.     * Makefile.orig, log.h, memstat.h, mlog.cpp: More improvements.
  526.  
  527.     * mergelogs.cpp: Initial check-in.
  528.  
  529.     * log.h, memstat.h, mlog.cpp, threadheap.cpp, threadtest.cpp, Makefile.orig, heap.h:
  530.     More log-related changes.
  531.  
  532.     * processheap.h: Fixed for no-heap-log case.
  533.  
  534.     * config.h: Unset log flag.
  535.  
  536.     * wrapper.cpp: Instrumented all memory-related calls.
  537.  
  538.     * log.h: Made the log threadsafe.
  539.  
  540.     * mlog.cpp: First run at a memory log processor.
  541.  
  542.     * processheap.h, testmymalloc.cpp, wrapper.cpp, log.h, memstat.h, processheap.cpp, cache-scratch.cpp, config.h:
  543.     Initial incorporation of logging.
  544.  
  545. Fri Jan 21 18:56:13 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  546.  
  547.     * benchmarks/larson/driver_mt.cpp, configure, configure.in, Makefile.in, Makefile.orig:
  548.     Changes for the Sun Workshop compiler.
  549.  
  550.     * Makefile.orig: Enabled a USE_WORKSHOP target.
  551.  
  552.     * processheap.cpp, processheap.h:
  553.     Moved the destructor to the .h file to avoid a requirement for __builtin_delete.
  554.  
  555. Thu Jan 20 20:45:52 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  556.  
  557.     * Makefile.in: Updated to handle Sun's CC compiler.
  558.  
  559.     * cache-scratch.cpp: Fixed the worker thread's type.
  560.  
  561.     * configure.in, configure, Makefile.am, arch-specific.cpp:
  562.     Changes to allow compilation with the Sun Workshop C++ compiler.
  563.  
  564.     * sparc-interchange.il: Inline assembly for the SPARC.
  565.  
  566.     * benchmarks/larson/driver_mt.cpp:
  567.     Slight change to allow compilation with Sun's CC.
  568.  
  569. Sun Jan 16 20:32:01 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  570.  
  571.     * ChangeLog: Version 1.4.2
  572.  
  573.     * Makefile.am, Makefile.in: Changed implementation number.
  574.  
  575.     * NEWS: Version 1.4.2
  576.  
  577.     * malloc-test.c: Initial check-in.
  578.  
  579.     * superblock.h, threadheap.cpp, threadheap.h, block.h, processheap.cpp, processheap.h:
  580.     Fixed a subtle memalign bug.
  581.  
  582. Wed Jan 12 17:46:29 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  583.  
  584.     * configure, configure.in, arch-specific.cpp: Changes for Solaris 2.6.
  585.  
  586.     * configure, configure.in, arch-specific.cpp, arch-specific.h:
  587.     Changes for Solaris 2.6
  588.  
  589. Tue Jan 11 20:47:57 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  590.  
  591.     * arch-specific.cpp: More SGI fixes (includes).
  592.  
  593.     * arch-specific.cpp: SGI fix.
  594.  
  595.     * arch-specific.cpp:
  596.     Surrounded the pthread_setconcurrency declaration with an ifdef linux.
  597.  
  598. Mon Jan 10 02:20:44 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  599.  
  600.     * benchmarks/linux-scalability/README, benchmarks/larson/README:
  601.     More comments for benchmarks.
  602.  
  603. Sun Jan  9 20:25:21 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  604.  
  605.     * README, INSTALL, NOTES.Windows: More notes about Windows and BeOS.
  606.  
  607. Sat Jan  8 02:59:58 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  608.  
  609.     * arch-specific.cpp:
  610.     Added an extern declaration for pthread_setconcurrency (esp. for Linux).
  611.  
  612.     * processheap.h: Fixed a comment.
  613.  
  614.     * testmymalloc.cpp: Removed calls to iostream (replaced with stdio).
  615.  
  616.     * superblock.cpp: Fixed type of moreMemory.
  617.  
  618.     * superblock.h: Fixed type of getBlockSizeClass.
  619.  
  620.     * wrapper.h:
  621.     Removed 'private' for constructor & destructor (to avoid warning).
  622.  
  623.     * processheap.h: Removed math library calls.
  624.  
  625. Thu Jan  6 17:59:13 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  626.  
  627.     * threadtest.cpp, arch-specific.cpp, arch-specific.h, cache-scratch.cpp:
  628.     Added hoardSetConcurrency.
  629.  
  630. Wed Jan  5 01:34:55 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  631.  
  632.     * README, cache-scratch.cpp:
  633.     Increased the suggested parameters for cache-scratch.
  634.  
  635. Tue Jan  4 23:24:11 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  636.  
  637.     * ChangeLog: Version 1.4.
  638.  
  639.     * cache-scratch.cpp: More details in the comments section.
  640.  
  641.     * README, benchmarks/larson/README, cache-scratch.cpp:
  642.     More info on running benchmarks.
  643.  
  644.     * configure: Version 1.4.
  645.  
  646.     * README: Added -lthread comment.
  647.  
  648.     * cache-scratch.cpp: Added the prelude.
  649.  
  650.     * Makefile.am, Makefile.in, Makefile.orig: Added cache-scratch.
  651.  
  652.     * cache-scratch.cpp: Divided up repetitions among the threads.
  653.  
  654.     * cache-scratch.cpp: Initial version.
  655.  
  656.     * processheap.h: Removed the special case for Linux.
  657.  
  658.     * configure.in: Version 1.4.
  659.  
  660.     * arch-specific.cpp:
  661.     Added an ugly (but effective) workaround to directly parse the /proc/cpuinfo file on Linux to obtain the number of CPUs
  662.  
  663.     * README: Changed -lpthread to -lthread.
  664.  
  665.     * NEWS: Updated.
  666.  
  667.     * Makefile.am: Version 1.4.
  668.  
  669. Mon Jan  3 21:54:06 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  670.  
  671.     * processheap.cpp, processheap.h, threadheap.cpp, heap.cpp, heap.h:
  672.     Numerous small changes.
  673.  
  674.     * arch-specific.cpp: Removed some useless vars.
  675.  
  676.     * arch-specific.cpp:
  677.     Increased the spin limit to something a bit more reasonable.
  678.  
  679.     * heap.cpp: Version 1.4.
  680.  
  681.     * processheap.cpp:
  682.     Updated a comment and spelled out a couple of variable names.
  683.  
  684.     * maketable.cpp, processheap.cpp, superblock.h, heap.cpp, heap.h:
  685.     Added a threshold lookup table.
  686.  
  687.     * testmymalloc.cpp, threadheap.cpp, threadheap.h, heapstats.h, processheap.cpp, superblock.cpp, superblock.h, arch-specific.cpp, heap.h:
  688.     A variety of fixes and comment modifications.
  689.  
  690. Sun Jan  2 05:23:56 2000  Emery Berger  <emery@bigsky.cs.utexas.edu>
  691.  
  692.     * benchmarks/shbench/README, benchmarks/linux-scalability/README, benchmarks/README, benchmarks/larson/README:
  693.     More information.
  694.  
  695.     * Makefile.orig: Added two more threadtest targets.
  696.  
  697.     * threadtest.cpp: Increased the number of iterations from 10 to 50.
  698.  
  699. Fri Dec 31 20:45:34 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  700.  
  701.     * benchmarks/shbench/shbench1.cpp:
  702.     Brought back from the dead (I just won't release it).
  703.  
  704.     * benchmarks/larson/Makefile.in, benchmarks/linux-scalability/Makefile.in, benchmarks/shbench/Makefile.in:
  705.     Fixed to use config-time variables.
  706.  
  707.     * processheap.cpp: Removed some newSizeclass cruft.
  708.  
  709.     * privateheap.cpp: Restored some locks.
  710.  
  711.     * arch-specific.cpp: Added BeOS number of processors.
  712.  
  713.     * processheap.h:
  714.     Renamed 'allocator' to 'getHeap'; removed lock from getHeap.
  715.  
  716.     * threadheap.cpp: Moved lock back to malloc().
  717.  
  718.     * wrapper.cpp: Renamed 'allocator' to 'getHeap'.
  719.  
  720. Thu Dec 30 21:40:37 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  721.  
  722.     * configure: Updated.
  723.  
  724.     * processheap.h:
  725.     Added fast rounding (via numProcessorsMask) and removed thhe 'optimization' for 1 processor that only slowed things down.
  726.  
  727.     * heap.h:
  728.     Restored superblock size to 3 pages (it *does* make a difference for the Larson benchmark).
  729.  
  730.     * benchmarks/larson/Makefile.in: Added LIBSCHED parameter.
  731.  
  732.     * configure.in:
  733.     Fixed order of library checks for -lthread inclusion (Solaris).
  734.  
  735.     * configure: Updated.
  736.  
  737.     * processheap.h: Static decl. must be first.
  738.  
  739.     * superblock.cpp: A comment here, an assertion there...
  740.  
  741.     * benchmarks/larson/Makefile.in: A few minor improvements.
  742.  
  743.     * heap.h:
  744.     Removed MAX_TIDS; brought superblock size down to 8K with no significant impact on runtime (!).
  745.  
  746.     * processheap.cpp: Removed MAX_TIDS.
  747.  
  748.     * INSTALL, NOTES.Windows, NEWS: Work towards release 1.4.
  749.  
  750.     * README, Makefile.orig: Minor changes.
  751.  
  752.     * processheap.h:
  753.     Hash thread ID's to no more than 2 * numProcessors heaps (except for Linux).
  754.  
  755.     * configure.in: Added a check for Solaris (and use of -lthread.
  756.  
  757. Tue Dec 28 05:03:50 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  758.  
  759.     * benchmarks/larson/driver_mt.C, benchmarks/larson/driver_mt.cpp, benchmarks/larson/Makefile.in:
  760.     The new benchmark.
  761.  
  762.     * processheap.h: Fixed a problem with Linux.
  763.  
  764.     * processheap.cpp: Removed some (now) cruft.
  765.  
  766.     * heap.h, arch-specific.cpp, arch-specific.h: Trashed tryLock().
  767.  
  768.     * heap.h: Added a useful comment or two.
  769.  
  770.     * processheap.h: Removed some (now) cruft.
  771.  
  772.     * benchmarks/larson/driver_mt.cpp: Newest version from Paul Larson.
  773.  
  774.     * Makefile.orig: Added a SOLARIS target.
  775.  
  776.     * arch-specific.cpp:
  777.     Changed the thread ID algorithm for Solaris to hash on the LWP.
  778.  
  779.     * processheap.h: Backed off the thread id stuff.
  780.  
  781.     * privateheap.cpp, wrapper.cpp: Fixed private heaps.
  782.  
  783. Fri Dec 24 01:31:19 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  784.  
  785.     * heap.h: Broke out tids from heaps.
  786.  
  787. Thu Dec 23 17:47:42 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  788.  
  789.     * processheap.cpp, processheap.h: Back to maxIndex.
  790.  
  791.     * processheap.h: Back to the maxIndex scheme for now...
  792.  
  793.     * processheap.cpp, processheap.h: More tweakage.
  794.  
  795. Wed Dec 22 20:18:45 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  796.  
  797.     * processheap.h, processheap.cpp: More tweakage.
  798.  
  799.     * processheap.h, processheap.cpp:
  800.     Yet more work on the heap selection algorithm.
  801.  
  802.     * arch-specific.cpp, arch-specific.h:
  803.     Added hoardGetNumProcessors() {without the BeOS version, for now}.
  804.  
  805.     * processheap.h: Another revision to the heap assignment algorithm.
  806.  
  807.     * processheap.cpp, processheap.h:
  808.     More revisions to the heap assignment algorithm.
  809.  
  810.     * arch-specific.cpp:
  811.     Fixed tryLock for the BeOS; some clean-up and comments added.
  812.  
  813.     * arch-specific.cpp:
  814.     Added some #defines for clarity; changed the blocking lock to a yielding lock for UNIX non-user-level locks.
  815.  
  816.     * processheap.cpp, processheap.h:
  817.     Changed the heap assignment algorithm to use a maximum index value (we assume that reads and writes to ints are atomic).
  818.  
  819.     * NOTES.Windows: Initial check-in.
  820.  
  821.     * benchmarks/larson/driver_mt.C:
  822.     Just to be safe, initialize the thread's attribute.
  823.  
  824.     * Makefile.in, Makefile.am: Changed the version info for the library.
  825.  
  826.     * wrapper.cpp: Changed calls to free from threadHeap into processHeap.
  827.  
  828.     * threadheap.cpp, threadheap.h:
  829.     Moved free from threadHeap into processHeap.
  830.  
  831.     * superblock.h, superblock.cpp:
  832.     Superblocks with more than one block are now all SUPERBLOCK_SIZE bytes long to eventually permit superblock recycling and unmapping; added some more sanity checking for debugging.
  833.  
  834.     * processheap.cpp, processheap.h:
  835.     Improved the heap selection algorithm to adapt with respect to concurrency; moved free from threadHeap.
  836.  
  837.     * heap.h, heap.cpp:
  838.     Removed the now-unused sizeclass argument from lock operations; added tryLock; added more comments and sanity checks.
  839.  
  840.     * heapstats.h: Removed the now-superfluous cache pad.
  841.  
  842.     * arch-specific.cpp, arch-specific.h:
  843.     Added hoardTryLock; gave everything C linkage (on the road to breaking out the assembly code into processor-specific files).
  844.  
  845.     * configure, configure.in: Added tests for processors.
  846.  
  847. Fri Dec 17 16:52:21 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  848.  
  849.     * processheap.h: Fix to lock type for STATS compilation.
  850.  
  851. Thu Dec 16 20:55:21 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  852.  
  853.     * benchmarks/shbench/shbench1.cpp, benchmarks/shbench/Attic/shbench.cpp:
  854.     Removed copyrighted SmartHeap benchmarks.
  855.  
  856.     * threadheap.cpp: Simplified the test for 'big' superblocks.
  857.  
  858.     * heap.h, superblock.cpp:
  859.     Changed NUMBER_OF_BYTES to the more descriptive SUPERBLOCK_SIZE.
  860.  
  861. Wed Dec 15 04:19:00 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  862.  
  863.     * Makefile.in: Automake 1.4a produced output.
  864.  
  865.     * arch-specific.cpp: Some comment mods.
  866.  
  867.     * superblock.cpp: Restored required alignment tweak for sbrk().
  868.  
  869.     * processheap.cpp, processheap.h: Backed off recycling stuff for now.
  870.  
  871. Tue Dec 14 23:41:23 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  872.  
  873.     * Makefile.am, Makefile.in, configure, configure.in:
  874.     Added a required LIBSCHED.
  875.  
  876.     * processheap.cpp, superblock.cpp, processheap.h, superblock.h:
  877.     Added release-time empty superblock recycling.
  878.  
  879.     * configure, configure.in: Fixed a problem looking for sched_yield.
  880.  
  881.     * arch-specific.cpp: Added 'yield' to Windows NT code.
  882.  
  883. Wed Nov 24 20:24:32 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  884.  
  885.     * NEWS: Fixed spelling of John's last name!
  886.  
  887.     * ChangeLog, NEWS: Version 1.3.3.
  888.  
  889.     * arch-specific.cpp, superblock.cpp, threadheap.h, threadtest.cpp, Makefile.orig:
  890.     A variety of SGI-related changes.
  891.  
  892. Tue Nov 23 15:18:28 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  893.  
  894.     * ChangeLog: Version 1.3.2.
  895.  
  896.     * INSTALL, NEWS, threadtest.dsp, timer.h, wrapper.cpp, libhoard.dsp, libhoard.dsw, testmymalloc.dsp:
  897.     Changes for Windows (Visual C++) release.
  898.  
  899. Mon Nov 22 16:54:40 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  900.  
  901.     * Attic/atexit.c: Fixed to allow multiple exit functions.
  902.  
  903.     * Makefile.in: Removed those annoying automake, etc. alls.
  904.  
  905.     * ChangeLog: Version 1.3.1.
  906.  
  907.     * configure.in, NOTES.BeOS, configure, Makefile.am, Makefile.in, Makefile.orig, NEWS, INSTALL:
  908.     Added a custom version of atexit to fix the Linux-deadlock problem created with glibc 2.1.2.
  909.  
  910.     * benchmarks/shbench/shbench1.cpp, threadtest.cpp:
  911.     Increased the default number of iterations.
  912.  
  913.     * Attic/libc-lock.h, exit.h: Initial check-in, for Linux only.
  914.  
  915.     * Attic/atexit.c:
  916.     Modified version of glibc's atexit to avoid calls to malloc.
  917.  
  918. Fri Nov 19 14:04:34 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  919.  
  920.     * arch-specific.cpp: Added PowerPC locks.
  921.  
  922. Thu Nov 18 21:49:52 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  923.  
  924.     * threadtest.cpp: Added SGI-specific mods for the 'threadtest' test.
  925.  
  926.     * ChangeLog: Latest changes rolled in.
  927.  
  928.     * NEWS: Added thanks to John Hickins.
  929.  
  930.     * INSTALL: Corrected a typo.
  931.  
  932. Wed Nov 17 18:14:29 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  933.  
  934.     * configure, configure.in: Incremented the version number.
  935.  
  936.     * benchmarks/larson/Makefile.in, benchmarks/linux-scalability/Makefile.in, benchmarks/shbench/Makefile.in, configure, configure.in, Makefile.am, Makefile.in:
  937.     Added checks for sched_yield in librt, removed some cruft.
  938.  
  939.     * ChangeLog: Yet Another ChangeLog commit.
  940.  
  941.     * INSTALL: Added platform-specific installation info.
  942.  
  943.     * README:
  944.     Changed the Hoard home page info, moved platform-specific info to INSTALL.
  945.  
  946. Tue Nov 16 22:07:55 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  947.  
  948.     * wrapper.cpp, README, arch-specific.cpp, arch-specific.h, timer.h, Makefile.orig:
  949.     More BeOS changes.
  950.  
  951.     * ChangeLog: *** empty log message ***
  952.  
  953.     * benchmarks/linux-scalability/linux-scalability.c:
  954.     Added the PTHREAD_SCOPE_SYSTEM patch.
  955.  
  956.     * ChangeLog: Version 1.3 mods incorporated.
  957.  
  958.     * README, NEWS: Changes for version 1.3.
  959.  
  960. Thu Nov 11 21:25:24 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  961.  
  962.     * heap.h, heap.cpp:
  963.     Replaced per-sizeclass locks with per-heap locks on the assumption that this won't hurt scalability (since most objects allocated are in a small number of size classes) and to reduce Hoard's static footprint.
  964.  
  965.     * Makefile.in: Changed version number to 1.2.
  966.  
  967.     * privateheap.h, privateheap.cpp: Removed the SUBHEAPS option.
  968.  
  969.     * configure, configure.in:
  970.     Removed the SUBHEAPS option and some warning flags for gcc/g++.
  971.  
  972.     * Makefile.orig: Removed the SUBHEAPS option.
  973.  
  974.     * arch-specific.h: Added BeOS stuff.
  975.  
  976.     * arch-specific.cpp:
  977.     Add BeOS stuff; moved the thread hashing fix here from processheap.h.
  978.  
  979.     * processheap.h:
  980.     Removed the subheap option and moved the thread index hashing stuff to arch-specific.cpp.
  981.  
  982. Fri Oct 29 18:29:05 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  983.  
  984.     * ChangeLog: Removed all 'Attic' entries.
  985.  
  986.     * ChangeLog: A real ChangeLog, produced by rcs2log.
  987.  
  988.     * superblock.h:
  989.     Added a cache pad to avoid false sharing of superblock data.
  990.  
  991.     * NEWS: Brought the NEWS file in line with GNU standards.
  992.  
  993.     * heap.h: Subtracted the size of a superblock from NUMBER_OF_BYTES.
  994.  
  995. Thu Oct 28 00:59:53 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  996.  
  997.     * config.h: Increased cache line size (for SGI O2K).
  998.  
  999. Wed Oct 27 20:43:20 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1000.  
  1001.     * threadheap.h, wrapper.h, processheap.h, superblock.h, threadheap.cpp, block.h, heap.cpp, heap.h:
  1002.     Comment updates.
  1003.  
  1004.     * configure.in, configure:
  1005.     Disabled inclusion of -lpthread when using sproc.
  1006.  
  1007.     * configure, configure.in: Now SPROC is defined as 0 by default.
  1008.  
  1009.     * configure, configure.in, Makefile.am: Updated to version 1.2.
  1010.  
  1011.     * README: Changed date on README.
  1012.  
  1013.     * ChangeLog: Updated ChangeLog to version 1.2.
  1014.  
  1015.     * README: Updated README to include sproc target.
  1016.  
  1017.     * configure, configure.in: Added sproc options.
  1018.  
  1019.     * Makefile.orig, arch-specific.cpp, configure.in:
  1020.     Improved sproc handling.
  1021.  
  1022. Tue Oct 26 22:27:48 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1023.  
  1024.     * arch-specific.cpp, arch-specific.h: First run at SPROC stuff.
  1025.  
  1026. Thu Oct 21 03:28:16 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1027.  
  1028.     * arch-specific.cpp:
  1029.     Reset spin count to zero after every iteration in our lock implementation.
  1030.  
  1031. Wed Oct 20 21:49:54 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1032.  
  1033.     * Makefile.orig: Removed dependence on UltraSPARC.
  1034.  
  1035.     * Makefile.orig: Needed -lrt for Solaris.
  1036.  
  1037.     * arch-specific.h, config.h, arch-specific.cpp:
  1038.     More fun with spin locks.
  1039.  
  1040.     * heap.h: Moved out the spin part (should be in arch-specific anyway).
  1041.  
  1042.     * heap.cpp: Fixed the size table.
  1043.  
  1044.     * maketable.cpp: Fixed the size table generation.
  1045.  
  1046.     * arch-specific.cpp, arch-specific.h, config.h:
  1047.     Added 'USERLOCKS' option -- user-level spin locks -- which are much faster on Linux.
  1048.  
  1049. Tue Oct 19 16:12:05 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1050.  
  1051.     * arch-specific.cpp, block.h, privateheap.cpp, threadheap.cpp:
  1052.     Removed some UNIX dependencies.
  1053.  
  1054.     * timer.h, arch-specific.cpp, arch-specific.h:
  1055.     More Windows-related changes.
  1056.  
  1057. Sat Oct 16 20:23:31 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1058.  
  1059.     * testmymalloc.cpp, wrapper.cpp, Makefile.am, Makefile.in, arch-specific.cpp, arch-specific.h, processheap.cpp:
  1060.     Made a variety of Windows-related changes.
  1061.  
  1062.     * config.h: Changed CACHE_LINE (SPARC's L2 size is 64, not 128 bytes).
  1063.  
  1064. Fri Oct 15 14:48:28 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1065.  
  1066.     * arch-specific.cpp:
  1067.     Changed mutex_unlock (for Windows NT) to use InterlockedExchange so it will work on Alphas, too.
  1068.  
  1069. Tue Oct 12 21:37:09 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1070.  
  1071.     * Makefile.in, README, INSTALL, Makefile.am: More minor updates.
  1072.  
  1073.     * benchmarks/shbench/Makefile.in, benchmarks/linux-scalability/Makefile.in, benchmarks/larson/Makefile.in, configure, configure.in:
  1074.     More configuration improvements.
  1075.  
  1076.     * benchmarks/shbench/timer.h: Fixed to work on the SGI.
  1077.  
  1078.     * maketable.cpp: Added UL to the table output.
  1079.  
  1080.     * heap.cpp: Made the table a constant (to be built by maketable.cpp).
  1081.  
  1082.     * maketable.cpp: Added the table generator.
  1083.  
  1084.     * README: More changes for version 1.1.
  1085.  
  1086.     * Makefile.orig: The original Makefile.
  1087.  
  1088.     * README: Just added a newline.
  1089.  
  1090.     * NEWS: Put something in NEWS.
  1091.  
  1092.     * README, docs/UTCS-TR99-22.ps.gz:
  1093.     Moved the tech report into a docs folder.
  1094.  
  1095.     * benchmarks/larson/driver_mt.C, benchmarks/linux-scalability/linux-scalability.c:
  1096.     Fixed some compilation bugs, added local library path to the compiles.
  1097.  
  1098.     * Makefile.am, Makefile.in: Minor Linux fixes.
  1099.  
  1100. Mon Oct 11 21:27:33 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1101.  
  1102.     * configure, configure.in: More fixes.
  1103.  
  1104.     * configure, configure.in, INSTALL, README:
  1105.     Fixed some Windows NT-specific foo.
  1106.  
  1107.     * Makefile.am, Makefile.in, README: More minor changes.
  1108.  
  1109.     * Makefile.am: Changed version number for shared lib.
  1110.  
  1111.     * Makefile.in, configure, configure.in, ChangeLog, Makefile.am:
  1112.     Version 1.1.
  1113.  
  1114.     * INSTALL: Basic installation instructions.
  1115.  
  1116.     * autoconf/mkinstalldirs, autoconf/ltconfig, autoconf/ltmain.sh, autoconf/missing, autoconf/config.guess, autoconf/config.sub, autoconf/install-sh, configure.in, NEWS, README, aclocal.m4, configure, Makefile.am, Makefile.in:
  1117.     Incorporated the Ganesan Rajagopal scripts (slightly modified).
  1118.  
  1119. Thu Oct  7 16:37:21 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1120.  
  1121.     * block.h:
  1122.     Disabled copying and assignment; added initialization of _next field.
  1123.  
  1124.     * threadheap.h: Removed _busy field.
  1125.  
  1126. Wed Oct  6 20:10:23 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1127.  
  1128.     * privateheap.h: Fixed privateheap unlock method.
  1129.  
  1130. Tue Oct  5 20:53:02 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1131.  
  1132.     * README: New release date.
  1133.  
  1134.     * heap.cpp, heap.h: Fixed some wackiness with the size classes.
  1135.  
  1136.     * arch-specific.cpp, arch-specific.h, testmymalloc.cpp, README:
  1137.     Rolled in more Windows NT changes.
  1138.  
  1139. Mon Oct  4 19:07:13 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1140.  
  1141.     * config.h, timer.h, arch-specific.cpp:
  1142.     Rolled in some SGI-specific changes.
  1143.  
  1144.     * ChangeLog: Initial check-in.
  1145.  
  1146.     * arch-specific.cpp, processheap.h, superblock.cpp, superblock.h:
  1147.     Removed some reliance on Suns (yow!).
  1148.  
  1149. Sun Oct  3 19:31:00 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1150.  
  1151.     * benchmarks/README: Initial check-in.
  1152.  
  1153.     * README: Updated date.
  1154.  
  1155.     * arch-specific.cpp: Fixed ifndef (changed to ifdef).
  1156.  
  1157.     * privateheap.h, arch-specific.h, heap.cpp, heap.h, privateheap.cpp, arch-specific.cpp:
  1158.     Incorporated more changes for the Windows NT build.
  1159.  
  1160. Sat Oct  2 04:04:19 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1161.  
  1162.     * arch-specific.cpp, arch-specific.h: More Windows foo.
  1163.  
  1164.     * threadheap.cpp, threadtest.cpp, processheap.cpp, processheap.h, superblock.cpp, superblock.h, heap.cpp, heap.h, privateheap.cpp, privateheap.h, arch-specific.cpp, arch-specific.h:
  1165.     Added arch-specific files; changed all architecture-specific (read: UNIX) commands to use these wrappers.
  1166.  
  1167. Thu Sep 30 21:17:43 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1168.  
  1169.     * testmymalloc.cpp: Restored iostream.h (DOH DOH DOH).
  1170.  
  1171. Wed Sep 29 13:22:06 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1172.  
  1173.     * superblock.h, testmymalloc.cpp, threadheap.cpp, privateheap.cpp, processheap.cpp:
  1174.     Removed iostream.h includes.
  1175.  
  1176.     * timer.h, wrapper.cpp, wrapper.h, superblock.h, testmymalloc.cpp, threadheap.cpp, threadheap.h, threadtest.cpp, heapstats.h, processheap.cpp, processheap.h, superblock.cpp, README, block.h, config.h, heap.cpp, heap.h:
  1177.     Added preambles to everything.
  1178.  
  1179.     * config.h, README: More additions and deletions.
  1180.  
  1181.     * timer.h, processheap.h, threadheap.cpp, config.h, heap.cpp, heap.h, ChangeLog, INSTALL, COPYING:
  1182.     Cleanup time.
  1183.  
  1184. Tue Sep 28 22:11:06 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1185.  
  1186.     * heap.h, config.h: Minor changes (removed other targets).
  1187.  
  1188.     * README: More README info.
  1189.  
  1190.     * AUTHORS, COPYING, ChangeLog, INSTALL: Initial revision
  1191.  
  1192.     * AUTHORS, COPYING, ChangeLog, INSTALL, README: new project started
  1193.  
  1194. Wed Sep 22 13:42:29 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1195.  
  1196.     * privateheap.cpp: Some bug fixes.
  1197.  
  1198.     * block.h: Changed dummy (pad) variable names to avoid clashes.
  1199.  
  1200. Tue Sep 21 18:43:39 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1201.  
  1202.     * privateheap.cpp, privateheap.h: Fixed a carve-off problem.
  1203.  
  1204.     * config.h: Updated a comment.
  1205.  
  1206.     * superblock.cpp:
  1207.     Added (still not working?) mmap stuff; currently disabled.
  1208.  
  1209.     * config.h:
  1210.     Fixed a comment; returned two flags to their appropriate defaults.
  1211.  
  1212. Mon Sep 20 05:27:44 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1213.  
  1214.     * processheap.h, threadheap.cpp, privateheap.cpp, processheap.cpp:
  1215.     Fixed some screwiness with fragmentation stats; added a Linux-specific hack to get more reasonable thread-to-processor mapping.
  1216.  
  1217.     * processheap.cpp, processheap.h, threadheap.cpp, privateheap.cpp, privateheap.h:
  1218.     Added locks for statistics gathering.
  1219.  
  1220. Sun Sep 19 06:17:12 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1221.  
  1222.     * processheap.h, config.h, heap.h, processheap.cpp:
  1223.     Changed the size class base to 1.2 (and upped the number of size classes to 128); fixed the fragmentation calculations.
  1224.  
  1225.     * privateheap.cpp:
  1226.     Slight tweak required to get privateHeap to work with the new, more flexible size class system.
  1227.  
  1228.     * privateheap.cpp, privateheap.h:
  1229.     The private heap variant (for experimental use only).
  1230.  
  1231.     * processheap.h, config.h, heap.h:
  1232.     A few more comments and some consolidation of constants.
  1233.  
  1234.     * heap.cpp, heap.h:
  1235.     Removed big ugly static block; moved initialization of the sizeTable to the heap's constructor. Changed some names to reflect the 'private-members-have-underscores' convention.
  1236.  
  1237. Sat Sep 18 23:27:18 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1238.  
  1239.     * superblock.cpp, superblock.h, testmymalloc.cpp, threadheap.cpp, block.h, config.h, heap.cpp, heap.h:
  1240.     Now the size class base is 'flexible'; this allows us to dramatically reduce internal fragmentation.
  1241.  
  1242.     * config.h: Avoid redefining _REENTRANT.
  1243.  
  1244.     * block.h: A variety of fixes for non-standard targets.
  1245.  
  1246. Wed Sep 15 22:39:16 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1247.  
  1248.     * benchmarks/larson/driver_mt.C:
  1249.     Disabled the warmup thing, added a bogus print of seconds for the Perl script that processes the data.
  1250.  
  1251.     * config.h, superblock.h:
  1252.     Commit the actual values used for the experiments.
  1253.  
  1254. Mon Sep 13 15:46:01 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1255.  
  1256.     * threadtest.cpp, processheap.cpp, processheap.h, superblock.h, threadheap.cpp, heap.cpp:
  1257.     Fixed a MAJOR bug that was killing us; moved around some code and added some useful comments.
  1258.  
  1259.     * heap.cpp, heap.h, superblock.cpp, superblock.h:
  1260.     Simplified (and fixed) the superblock interface.
  1261.  
  1262. Sun Sep 12 02:45:06 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1263.  
  1264.     * processheap.cpp: Simplified some code.
  1265.  
  1266.     * heapstats.h: Removed some outdated assertions.
  1267.  
  1268. Sat Sep 11 18:23:59 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1269.  
  1270.     * threadheap.cpp: Made the search for a block into a loop.
  1271.  
  1272.     * threadheap.cpp: Fixed lock loop.
  1273.  
  1274.     * superblock.cpp, superblock.h, threadheap.cpp, config.h, heap.cpp, heap.h, processheap.cpp:
  1275.     Made superblocks into a doubly-linked list (I had forgotten to remove superblocks when releasing them!).
  1276.  
  1277.     * config.h, superblock.h: Added some more meaningful comments.
  1278.  
  1279. Fri Sep 10 21:13:08 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1280.  
  1281.     * config.h, heapstats.h, processheap.h:
  1282.     A few changes needed by the IBM compiler.
  1283.  
  1284.     * config.h: More processors.
  1285.  
  1286.     * superblock.h: Fewer bytes.
  1287.  
  1288.     * heap.h: Added a spinlock.
  1289.  
  1290. Wed Sep  8 03:17:41 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1291.  
  1292.     * threadheap.cpp:
  1293.     'Big' objects are BIGGER than NUMBER_OF_BYTES, not the same size.
  1294.  
  1295. Tue Sep  7 17:59:05 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1296.  
  1297.     * wrapper.cpp, processheap.cpp, superblock.h, threadheap.cpp:
  1298.     Large objects now are unconditionally returned to heap 0.
  1299.  
  1300.     * processheap.h, threadheap.cpp, config.h, processheap.cpp:
  1301.     Turned off debugging, fixed erroneous extra decrement (oops).
  1302.  
  1303.     * heapstats.h, processheap.cpp, wrapper.cpp, config.h, heap.cpp:
  1304.     Cleaned up some foo; added a decStats -- looks like I'd forgotten it...
  1305.  
  1306.     * benchmarks/larson/driver_mt.C, heapstats.h: Routine check-in.
  1307.  
  1308.     * benchmarks/shbench/shbench1.cpp, benchmarks/larson/driver_mt.C, benchmarks/linux-scalability/linux-scalability.c, benchmarks/larson/ptmalloc.h, benchmarks/larson/thread-m.h, benchmarks/larson/driver_mt.c, benchmarks/larson/parallel.h, benchmarks/larson/perfcounters.h, benchmarks/larson/ptmalloc.c, benchmarks/larson/dlm.h:
  1309.     Initial check-in.
  1310.  
  1311.     * threadtest.cpp: Each worker now iterates 10 times.
  1312.  
  1313.     * threadheap.cpp, threadheap.h:
  1314.     Put getBlock code back into malloc (since it's never called by anyone else).
  1315.  
  1316.     * testmymalloc.cpp, config.h, superblock.cpp, superblock.h, block.h:
  1317.     Updated some comments.
  1318.  
  1319. Mon Sep  6 20:48:50 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1320.  
  1321.     * superblock.cpp:
  1322.     Removed cruft and excess memory consumption (left over from when we used non-blocking bags).
  1323.  
  1324.     * config.h: Removed some cruft.
  1325.  
  1326.     * benchmarks/shbench/Attic/shbench.cpp, wrapper.cpp, wrapper.h, threadtest.cpp, timer.h, testmymalloc.cpp, threadheap.cpp, threadheap.h, processheap.h, superblock.cpp, superblock.h, processheap.cpp, heap.cpp, heap.h, heapstats.h, config.h, README:
  1327.     Provably memory-efficient version with just one lock per heap. Fast and furious!
  1328.  
  1329. Mon Jun 28 17:41:03 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1330.  
  1331.     * benchmarks/shbench/timer.h, benchmarks/shbench/Attic/shbench.cpp:
  1332.     SHbench - from Microquill.
  1333.  
  1334. Sat Jun 26 18:19:10 1999  Emery Berger  <emery@bigsky.cs.utexas.edu>
  1335.  
  1336.     * heapstats.h, processheap.h, timer.h: Initial check-in.
  1337.  
  1338.  
  1339.     * heapstats.h, processheap.h, timer.h: Initial revision
  1340.  
  1341.     * config.h, heap.cpp, heap.h, processheap.cpp, superblock.cpp, superblock.h, testmymalloc.cpp, threadheap.cpp, threadheap.h, threadtest.cpp, wrapper.cpp, wrapper.h:
  1342.     Initial check-in.
  1343.  
  1344.  
  1345.     * config.h, heap.cpp, heap.h, processheap.cpp, superblock.cpp, superblock.h, testmymalloc.cpp, threadheap.cpp, threadheap.h, threadtest.cpp, wrapper.cpp, wrapper.h:
  1346.     Initial revision
  1347.  
  1348.